﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace YUMI.GIS.Interfaces
{
    /// <summary>
    /// 处理坐标变换的相关操作。
    /// </summary>
    public interface IKTransform2D
    {
        /// <summary>
        /// 整体平移
        /// </summary>
        /// <param name="x">平移的X方向距离</param>
        /// <param name="y">平移的Y方向距离</param>
        void Move(double x, double y);

        /// <summary>
        /// 旋转
        /// </summary>
        /// <param name="origin">旋转的中心点</param>
        /// <param name="angle">旋转的角度</param>
        void Rotate(IKPoint origin, double angle);

        /// <summary>
        /// 缩放
        /// </summary>
        /// <param name="origin">缩放时的定位点</param>
        /// <param name="xRate">x方向缩放比例</param>
        /// <param name="yRate">y方向缩放比例</param>
        void Scale(IKPoint origin, double xRate, double yRate);
    }
}
